const cloud = require('wx-server-sdk')
const xlsx = require('node-xlsx')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

const db = cloud.database()

exports.main = async (event, context) => {
  const { fileID } = event

  try {
    // 下载云存储中的文件
    const res = await cloud.downloadFile({
      fileID: fileID
    })
    
    const buffer = res.fileContent
    
    // 解析Excel文件
    const sheets = xlsx.parse(buffer)
    const sheet = sheets[0] // 获取第一个工作表
    
    // 处理数据
    const data = sheet.data
    const header = data[0] // 表头
    const rows = data.slice(1) // 数据行
    
    // 转换数据格式
    const formattedData = rows.map(row => {
      const item = {}
      header.forEach((key, index) => {
        item[key] = row[index]
      })
      return item
    })
    
    // 存储到云数据库
    await db.collection('analysis_data').add({
      data: {
        createTime: db.serverDate(),
        fileID: fileID,
        data: formattedData
      }
    })
    
    return {
      success: true,
      message: '处理成功'
    }
  } catch (error) {
    console.error(error)
    return {
      success: false,
      message: '处理失败'
    }
  }
} 